home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / cuj1008.zip / 1008085A < prev    next >
Text File  |  1991-12-04  |  812b  |  47 lines

  1. // main1.cpp
  2. // a quick test of RefCntPtr
  3.  
  4. #define DEBUG
  5.  
  6. #include "anyclass.hpp"
  7.  
  8. void main (void)
  9.  {
  10.   RefCntPtr(anyClass) ptr1;
  11.  
  12.   // should evaluate to false,
  13.   // not execute show
  14.   if (ptr1)
  15.      ptr1->show();
  16.  
  17.   ptr1 = new anyClass;
  18.   if (!ptr1)
  19.      cout << "new failed\n";
  20.  
  21.   ptr1->intVal = 17;
  22.   ptr1->string =
  23.    "I wanna go to Australia, too";
  24.  
  25.   // another access method
  26.   (*ptr1).show();
  27.  
  28.   RefCntPtr(anyClass) ptr2 = ptr1;
  29.   ptr2->show();
  30.  
  31.   ptr1 = 0;
  32.   // this one is an error
  33.   ptr1->show();
  34.  
  35.   ptr2->show();
  36.  
  37.   // previous anyClass will be deleted
  38.   ptr2 = new anyClass;
  39.   ptr2->intVal = 1234;
  40.   ptr2->string =
  41.    "Kansas? Why?";
  42.  
  43.   // ptr2 destructor will be called here,
  44.   // at end of function, resulting
  45.   // in call to anyClass destructor
  46.  };
  47.